package SocketServer;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author aluno
 */
public class ServidorSocketModel {

    /**
     * Variavel responsável por indicar se a operação soma será utilizada no
     * jogo
     */
    private String soma;
    /**
     * Variavel responsável por indicar se a operação subtração será utilizada
     * no jogo
     */
    private String subtracao;
    /**
     * Variavel responsável por indicar se a operação multiplicação será
     * utilizada no jogo
     */
    private String multiplicacao;
    /**
     * Variavel responsável por indicar se a operação divisão será utilizada no
     * jogo
     */
    private String divisao;
    /**
     * Variavel responsável armazena o código de identificação da tentativa
     */
    private int idTentativa;
    /**
     * Variavel responsável por armazena o novo do usuário
     */
    private String nomeUsuario;
    /**
     * Variavel responsável por armazenar a data de inicio do jogo
     */
    private String dataInicio;
    /**
     * Variavel responsável por armazenar a hora de inicio do jogo
     */
    private String horaInicio;
    /**
     * Variavel responsável por armazena a quantidade de acertos do jogador
     */
    private int totalAcertos;
    /**
     * Variavel responsável por armazenar a quantidade de erros do jogador
     */
    private int totalErros;
    /**
     * Variavel responsável por definir a quantidade de vezes de cada jogo
     */
    private final int quantidadeJogadas = 10;
    /**
     * Variavel responsável por definir a porta de conexão com o servidor socket
     */
    private final int portaSocket = 1454;
    /**
     * Variavel responsável por definir a estação servidor de socket
     */
    private final String hostServerSocket = "Localhost";
    /**
     * Variavel responsável por armazenar a referência do socket cliente
     */
    private Socket socketCliente;
    /**
     * Variável responsável por estabeceler o fluxo de entrada dos dados entre
     * servidor e cliente
     */
    private ObjectInputStream entrada;
    /**
     * Variável responsável por estabeceler o fluxo de saida dos dados entre
     * servidor e cliente
     */
    private ObjectOutputStream saida;
    /**
     * Variável responsável por armazenar a ação do script na camada de DAO
     */
    private String actionScript;

    public String getActionScript() {
        return actionScript;
    }

    public void setActionScript(String actionScript) {
        this.actionScript = actionScript;
    }

    public ObjectInputStream getEntrada() {
        return entrada;
    }

    public void setEntrada(ObjectInputStream entrada) {
        this.entrada = entrada;
    }

    public ObjectOutputStream getSaida() {
        return saida;
    }

    public void setSaida(ObjectOutputStream saida) {
        this.saida = saida;
    }

    public Socket getSocketCliente() {
        return socketCliente;
    }

    public void setSocketCliente(Socket socketCliente) {
        this.socketCliente = socketCliente;
    }

    public String getHostServerSocket() {
        return hostServerSocket;
    }

    public int getPortaSocket() {
        return portaSocket;
    }

    public String getSoma() {
        return soma;
    }

    public void setSoma(String soma) {
        this.soma = soma;
    }

    public String getSubtracao() {
        return subtracao;
    }

    public void setSubtracao(String subtracao) {
        this.subtracao = subtracao;
    }

    public String getMultiplicacao() {
        return multiplicacao;
    }

    public void setMultiplicacao(String multiplicacao) {
        this.multiplicacao = multiplicacao;
    }

    public String getDivisao() {
        return divisao;
    }

    public void setDivisao(String divisao) {
        this.divisao = divisao;
    }

    public int getIdTentativa() {
        return idTentativa;
    }

    public void setIdTentativa(int idTentativa) {
        this.idTentativa = idTentativa;
    }

    public String getNomeUsuario() {
        return nomeUsuario;
    }

    public void setNomeUsuario(String nomeUsuario) {
        this.nomeUsuario = nomeUsuario;
    }

    public String getDataInicio() {
        return dataInicio;
    }

    public void setDataInicio(String dataInicio) {
        this.dataInicio = dataInicio;
    }

    public String getHoraInicio() {
        return horaInicio;
    }

    public void setHoraInicio(String horaInicio) {
        this.horaInicio = horaInicio;
    }

    public int getTotalAcertos() {
        return totalAcertos;
    }

    public void setTotalAcertos(int totalAcertos) {
        this.totalAcertos = totalAcertos;
    }

    public int getTotalErros() {
        return totalErros;
    }

    public void setTotalErros(int totalErros) {
        this.totalErros = totalErros;
    }

    public int getQuantidadeJogadas() {
        return quantidadeJogadas;
    }

    @Override
    public String toString() {
        return "8" + getNomeUsuario() + "  :  " + getDataInicio() + "  :  " + getHoraInicio() + " : " + getTotalAcertos() + " : " + getTotalErros();
    }

}
